if ( (rc = elf_xen_parse(elf, &dom->parms)) != 0 )
return rc;
- if ( elf_xen_feature_get(XENFEAT_privileged, dom->parms.f_required) ||
- (elf_xen_feature_get(XENFEAT_privileged, dom->parms.f_supported) &&
- !elf_xen_feature_get(XENFEAT_unprivileged, dom->parms.f_supported)) )
- {
- xc_dom_panic(dom->xch, XC_INVALID_KERNEL, "%s: Kernel does not"
- " support unprivileged (DomU) operation", __FUNCTION__);
- return -EINVAL;
- }
-
/* find kernel segment */
dom->kernel_seg.vstart = dom->parms.virt_kstart;
dom->kernel_seg.vend = dom->parms.virt_kend;
return -1;
}
- if (test_bit(XENFEAT_unprivileged, parms.f_required) ||
- (test_bit(XENFEAT_unprivileged, parms.f_supported) &&
- !test_bit(XENFEAT_privileged, parms.f_supported)))
- {
- printk("Kernel does not support Dom0 operation\n");
- return -1;
- }
-
p_start = parms.virt_base;
pkern_start = parms.virt_kstart;
pkern_end = parms.virt_kend;
return -EINVAL;
}
- if ( test_bit(XENFEAT_unprivileged, parms.f_required) ||
- (test_bit(XENFEAT_unprivileged, parms.f_supported) &&
- !test_bit(XENFEAT_privileged, parms.f_supported)) )
- {
- printk("Kernel does not support Dom0 operation\n");
- return -EINVAL;
- }
-
#if defined(__x86_64__)
if ( compat32 )
{
switch ( fi.submap_idx )
{
case 0:
- fi.submap = 1U << (IS_PRIV(current->domain) ?
- XENFEAT_privileged : XENFEAT_unprivileged);
+ fi.submap = 0;
if ( VM_ASSIST(d, VMASST_TYPE_pae_extended_cr3) )
fi.submap |= (1U << XENFEAT_pae_pgdir_above_4gb);
if ( paging_mode_translate(current->domain) )
[XENFEAT_writable_descriptor_tables] = "writable_descriptor_tables",
[XENFEAT_auto_translated_physmap] = "auto_translated_physmap",
[XENFEAT_supervisor_mode_kernel] = "supervisor_mode_kernel",
- [XENFEAT_pae_pgdir_above_4gb] = "pae_pgdir_above_4gb",
- [XENFEAT_privileged] = "privileged",
- [XENFEAT_unprivileged] = "unprivileged"
+ [XENFEAT_pae_pgdir_above_4gb] = "pae_pgdir_above_4gb"
};
static const int elf_xen_features =
sizeof(elf_xen_feature_names) / sizeof(elf_xen_feature_names[0]);
#define XENFEAT_hvm_safe_pvclock 9
/* x86: pirq can be used by HVM guests */
-#define XENFEAT_hvm_pirqs 10
-
-/* privileged operation is supported */
-#define XENFEAT_privileged 11
-
-/* un-privileged operation is supported */
-#define XENFEAT_unprivileged 12
+#define XENFEAT_hvm_pirqs 10
#define XENFEAT_NR_SUBMAPS 1